/*
 * @Author: 周洋 1430536748@qq.com
 * @Date: 2024-08-22 13:56:38
 * @LastEditors: 周洋 1430536748@qq.com
 * @LastEditTime: 2024-08-22 14:54:48
 * @version: 1.2.5
 * @Description: 
 */

import { PropType } from "vue";
import {AlignEnum,ModeEnum} from '@/enum/index'

//descriptions 排列方向
export enum DirectionEnum {
    VERTICAL = 'vertical',
    HORIZONTAL = 'horizontal'
}

export interface ItemsType{
    mode:ModeEnum,
    label:string,
    prop:string,
    span?:number,
}


export const props = {
    /** 标题文本，显示在左上方 */
    title: { type: String, default: '' },
    /** 是否带有边框 */
    border: { type: Boolean, default: false },
    /** 一行 Descriptions Item 的数量 */
    column: { type: Number, default: 2 },
    /** 排列的方向 */
    direction: { type: String as PropType<DirectionEnum>, default: DirectionEnum.HORIZONTAL },
    /** 列的内容对齐方式（如无 border，对标签和内容均生效） */
    align: { type: String as PropType<AlignEnum>, default: AlignEnum.LEFT },
    /** 列的标签对齐方式，若不设置该项，则使用内容的对齐方式（如无 border，请使用 align 参数） */
    labelAlign: { type: String as PropType<AlignEnum>, default: AlignEnum.LEFT },
    /** Descriptions Item列循环数据 */
    Items:{ type:Array<ItemsType>,required:true },
    /** Descriptions数据对象 */
    detailsData:{type:Object as PropType<any>,required:true}
}